package cn.itsource.config;

import com.netflix.loadbalancer.BestAvailableRule;
import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class BeanConf {

    @Bean //把一个对象纳入sping管理
    @LoadBalanced //开启负载均衡支持
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }


    //设置负载均衡器-覆盖默认负载均衡器,ribbon执行是，会在spring容器中找IRule的实现，如果没有找到，就是new默认轮询负载均衡。
    @Bean
    public IRule rule(){
        return new BestAvailableRule();
    }
}
